import { onBeforeMount, reactive, ref } from 'vue'

/** 组件 key，用于更新 key 以刷新组件 */
export default function useComponentKey() {
  /** 组件 key */
  const value = ref(0)

  /** 更新组件 key */
  function update() {
    value.value = +new Date()
  }

  onBeforeMount(update)

  return reactive({
    /** 组件 key */
    value,

    /** 更新组件 key */
    update
  })
}
